Live search chat room

ABSTRACT

One embodiment provides a system of exchanging information between at least two parties over a network. The system includes a chat room generator module, executed by one or more processors, to receive a comparison result between an first key word search from a first party and a second key word used in a search query from a second party via a network, and to generate a chat room embedded into a search result web page associated with the search query, when the comparison result indicates no substantial similarity between the first key word and the second key word. A chat room admission module may then admit a third party into the chat room based on a comparison result that indicates substantial similarity between the second key word and a third key word used in a search query by the third party via the network.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.13/399,167 filed Feb. 17, 2012, which is a continuation of U.S.application Ser. No. 12/088,125 filed Mar. 26, 2008, which is a U.S.National Stage Filing under 35 U.S.C. 371 from International ApplicationNo. PCT/CN2007/003419, filed Dec. 3, 2007, the entire content of each ofthe applications is incorporated herein by reference.

TECHNICAL FIELD

The present application relates generally to a system and method ofexchanging information over a network.

BACKGROUND

With the development of computer and network related technologies, manyusers choose to purchase or sell products (e.g., goods or services) overa network. For example, by the use of a client-server system, users mayconduct a search over the network. Typically, during the e-commerceprocess, only the server knows who is searching for what. However,sellers may not know the potential buyers who are searching for theirproducts, and buyers with same interests may not have an easy way toexchange ideas on their searches. On the other hand, the searchactivities are typically individual based, and thus do not have theliveness and excitement of real world shopping. For example, buyers ofthe same interests may not put their heads together on a hot shoppingarea.

BRIEF DESCRIPTION OF THE DRAWINGS

The present application is illustrated by way of example and notlimitation in the figures of the accompanying drawings, in which likereferences indicate similar elements and in which:

FIG. 1 is a detailed network diagram illustrating a system having aclient-server architecture, in accordance with one example embodiment.

FIG. 2 is a block diagram illustrating multiple marketplaceapplications, in accordance with one example embodiment.

FIG. 3 is a user interface diagram illustrating a search result web pageembedded with a chat room, according to example embodiment.

FIG. 4 is an example method diagram illustrating establishing live chatroom communications over a network.

FIG. 5 is another network diagram illustrating a system for establishingchat room communications over a network, in accordance with an exampleembodiment.

FIG. 6 is a diagram illustrating a machine in the example form of acomputer system within which instructions, for causing the machine toperform any one or more of the methodologies discussed herein, may beexecuted.

DETAILED DESCRIPTION

In the following detailed description of the embodiments, reference ismade to the accompanying drawings, which form a part hereof, and inwhich is shown by way of illustration specific embodiments in which theapplication may be practiced.

The term “client-server” denotes a model of interaction in a distributedcomputer system in which a program at one site sends a request to aprogram at another site and waits for a response. The requesting programis called the “client,” and the program that responds to the request iscalled the “server.”

One example embodiment is described in the context of a commerce system,however it will be appreciated that the invention could be implementedin other contexts. Indeed, other example embodiments may be implementedin a wide variety of networking environments in which a data file (orother data structure) requires communication or transmission over anetwork.

FIG. 1 is a network diagram illustrating a system 100 having aclient-server architecture, in accordance with one example embodiment. Aserver platform, in the example form of commerce system 12, providesserver-side functionality, via a network 14 (e.g., the Internet) to oneor more clients. Referring to FIG. 1, for example, a web client 16(e.g., a browser, such as the Internet Explorer browser developed byMicrosoft Corporation of Redmond, Wash. State), and a programmaticclient 18 execute on respective client machines 20 and 22.

Turning specifically to the network-based commerce system 12, anApplication Program Interface (API) server 24 and a web server 26 arecoupled to, and provide programmatic and web interfaces respectively to,one or more application servers 28. The application servers 28 host oneor more applications, e.g., marketplace (commerce system) applications30 and payment applications 32. The application servers 28 are, in turn,shown to be coupled to one or more databases servers 34 that facilitateaccess to one or more databases 36.

The marketplace applications 30 provide a number of commerce systemfunctions and services to users that access the commerce system 12. Thepayment applications 32 likewise provide a number of payment servicesand functions to users. The payment applications 32 may allow users toquantify for, and accumulate, value (e.g., in a commercial currency,such as the U.S. dollar, or a proprietary currency, such as “points”) inaccounts, and then later to redeem the accumulated value for products(e.g., goods or services) that are made available via the marketplaceapplications 30. While the marketplace and payment applications 30 and32 are shown in FIG. 1 to both form part of the network-based commercesystem 12, it will be appreciated that, in alternative embodiments ofthe present invention, the payment applications 32 may form part of apayment service that is separate and distinct from the commerce system12.

Further, while the system 100 shown in FIG. 1 employs a client-serverarchitecture, embodiments of the present invention are of course notlimited to such an architecture, and could equally well find applicationin a distributed or a peer-to-peer architecture system. The variousmarketplace and payment applications 30 and 32 could also be implementedas standalone software programs, which do not necessarily havenetworking capabilities.

The web client 16 may access the various marketplace and paymentapplications 30 and 32 via the web interface supported by the web server26. The web client 16 may, for example, be a buyer application.Similarly, the programmatic client 18 may access the various servicesand functions provided by the marketplace and payment applications 30and 32 via the programmatic interface provided by the API server 24. Theprogrammatic client 18 may, for example, be a seller application (e.g.,the TurboLister application developed by eBay Inc., of San Jose, Calif.)to enable sellers to author and manage listings on the marketplace 12 inan on-line manner, and to perform batch-mode communications between theprogrammatic client 18 and the network-based commerce system 12. Exampleembodiments may be deployed either within an interface presented by theweb client 16, or the programmatic client 18.

The system 100 shown in FIG. 1 may bring users searching for the sametopic to a web-based live chat room to allow them to exchangeinformation. For example, the system 100 may allow sellers to approachpotential buyers to promote or sell their goods or services. The system100 may also allow buyers of the same interest to exchange their ideason their searches.

While the system 100 shown in FIG. 1 employs only one web client 16 andone programmatic client 18, it will be appreciated that the number ofweb clients 16 or programmatic clients 18 is not limited to one. Forexample, multiple buyers may respectively use multiple web clients 16 tobuy goods or services, and multiple sellers may respectively usemultiple programmatic clients 18 to sell goods or services.

FIG. 2 is a block diagram illustrating multiple marketplace applications30 that, in one example embodiment, are provided as part of thenetwork-based commerce system 12. The marketplace system 12 may providea chat room mechanism, and a number of listing and price-settingmechanisms, whereby sellers may promote or sell their goods or services,buyers may express their interests or desires to purchase such goods orservices, and prices can be set for transactions pertaining to the goodsor services.

The marketplace applications 30 may include, but are not limited to, akey word search engine 202, a key word comparator module 204, a chatroom creator module 206, a chat room admission module 208, a titledisplay module 210, a participant identification module 212, a messengermodule 214, an activity detector module 216, a party remover module 218,a capacity controller module 220, a duration controller module 222, anavigation module 224, and a search result sorting module 226.

The key word search engine module 202 may be used by a user to conduct akey word search over a network 14. The user may enter a query containingone or more key word or phrase (e.g., “Toyota”, “Camry”, and “2007”).The key word search engine module 202 therefore may create a searchresult web page (as shown in FIG. 3) based on the key word search query.

The key word comparator module 204 may be used to compare between thejust entered key word search query from a party and the existing keyword query previously entered from other parties. For example, the keyword comparator module 204 can be used to retrieve a list of key wordsearch queries with substantial similarity. Here, “substantialsimilarity” denotes that two key word search queries are the same, oreven though not the same, but close. For example, a query using keywords “Toyota”, “Camry”, and “2007” is considered to have substantialsimilarity with another query using key words “Toyota”, “Camry”, and“2006”. In another example, a query using key words “eBay”, “back toschool”, and “shopping” is considered to have substantial similaritywith another query using key words “EBAY”, “back-to-school”, and“sales”.

The chat room creator module 206 may be used to generate a chat room,which can be embedded into a search result web page. In an exampleembodiment, when no existing query is found having substantialsimilarity with the just entered key word search query, the chat roomgenerator module 206 may generate a new chat room, and then may embedthe chat room into a search result web page. As a result, the user maywait in the new generated chat room for a future user who would enter aquery having substantial similarity with the query just entered fromsuch user. In some example embodiments, by virtue of the chat roomcreator module 206, a seller may pay to create his own chat room tocapture potential buyers using selected key words. The price of theselected keywords can be set by the marketplace service provider (e.g.,eBay) based on market demand, or can be set dynamically by sellersthrough a bidding process. The duration of this chat room may depend on,for example, the fee paid by the seller.

The chat room admission module 208 may automatically admit a party intoan existing chat room, if the query entered from the party is found tohave substantial similarity with a query associated with the existingchat room. The existing chat room may therefore be embedded into asearch result web page, which is generated based on the just entered keyword search query.

The title display module 210 may display a title of the embedded chatroom to a party who enters a key word search query. The title may be thekey word search query just entered by the party, for example, “ToyotaCamry 2007”.

The party identification module 212 may identify each party orparticipant in the chat room. In one example embodiment, the partyidentification module 212 may identify each party in the chat room bytheir real names. In another example embodiment, the partyidentification module 210 may identify each party in the chat room bytheir nicknames.

The activity detector module 216 may detect an activity conducted by anyparty in the chat room, who are, for example, seeking goods or services,offering to sale, asking questions, answering questions, expressinginterests, or making comments. The party remover module 218 may remove aparty or a participant from a chat room, e.g., based on the detectionresult made by the activity detector module 218. In an exampleembodiment, the party remover module 218 may remove a party who isdetected to have been idle exceeding a predetermined period of time(e.g., 30 minutes).

The capacity controller module 220 may be used to limit the number ofparties to be admitted into the chat room to a predetermined value(e.g., 10) in order to ensure the quality and efficiency of thecommunications among the participants. The duration controller module222 may be used to set a life span of the chat room (e.g., 3 hours) andto remove the chat room from the search result web page after the chatroom expiring its life span. In some example embodiments, a seller canstay in a public chat room by paying a fee. The duration of his stay,the approaching capacity of potential buyers, and the posting capacitymay depend on the fee paid by the seller.

The navigation module 224 may be used to facilitate the navigation ofthe network based-marketplace system 12. For example, the navigationmodule 224 may enable key word searches of listings published via themarketplace system 12. The navigation module 224 may allows users tobrowse various category, catalogue, or inventory data structures withinthe marketplace system 12.

The search result sorting module 226 may be used to sort a list ofsearch results. The search results may be, for example, sorted in adescending order according to the similarity between the search resultsand the key word entry just entered by a user.

FIG. 3 is a user interface diagram illustrating a search result web page300 embedded with a chat room, according to an example embodiment. Inthe example embodiment, the search result web page 300 includes a keyword query input region 302, a search result list region 304, and a chatroom region 306.

The key word query input region 302 may be used to type a key wordquery, e.g., “Toyota”, “Camry”, and “2007”. In an example embodiment, an“Enter” button 310 may be arranged near the key word query input region302 to confirm and enter the typed key word query into the system.

The search result list region 304 may list the key word search resultsbased on the key word query entered in the key word query input region302. In some example embodiments, the search result list is listed in adescending order by the similarity between the search results and thekey word query entered in the key word query input region 302.

The chat room region 306 may display a chat room associated with the keyword search query entered by a party, enabling this party to exchangeinformation with other parties who have entered key word search querieshaving substantial similarity with the key word search query entered bythis party. The chat room 306 may display a chat room title 308 by usingthe key word search query, e.g., including “Toyota, Camry, 2007”, whichhas been entered by such party in the key word query input region 302.The chat room 306 may list the parties admitted to the chat room bytheir names (e.g., John, Mary, Tim) or their nicknames. The chat room306 may include for example two dialog windows: a dialog display window314 and a dialog input window 316. The dialog display window 314 may beused to, for example, display the dialog between the parties in the chatroom 306 in real time. The dialog input window 316 may be used to, forexample, prompt and accept the typed input from the party using theclient machine 20 or 22 as shown in FIG. 1.

In one example embodiment, the chat room 306 can show all the publiccontents from all the parties in the chat room. In another exampleembodiment, the chat room 306 only shows private conversations betweentwo parties.

In some example embodiments, the chat room 306 may include a passingthrough window (not shown in FIG. 3), which is controlled by a passingthrough control module to display at least one name of at least onepotential buyer moving from the left end toward the right end (or fromthe top end toward the bottom end) of the passing through window anddisappearing at last. The virtual passing through window may simulate areal world scene, where a seller inside a shop may watch at least onepotential buyer passing the shop window, and may invite the at least onebuyer into the shop. Similarly, the seller in a chat room 306 may, forexample, click a buyer name to invite the buyer into the chat room 306for a private conversation before the buyer name passes to the end ofthe passing through window and disappears.

It is appreciated that the layout and form of the search result web page300 is not limited to the one as shown in FIG. 3. For example, the chatroom region 306 may be located under the search result list 304 or tothe left of the search result list 304, instead of being located to theright of the search result list 304 as illustrated in FIG. 3. It is alsoappreciated that the form of dialog among the parties is not limitedtext dialog as shown in FIG. 3. For example, the parties may alsocommunicate in the chat room in the form of audio, video, or combinationof text, audio and video.

FIG. 4 is an example method diagram illustrating a method 400 ofestablishing live chat room communications over a network.

As shown in FIG. 4, at 402, a first party is prompted to enter a firstkey word search query, for example, “Toyota”, “Camry”, and “2007”.

At 404, a search result web page is created based on the first key wordsearch query. For example, a search result web page displays a list ofsearch results.

At 406, a detection is conducted to find an existing chat roomassociated with a second key word search query entered by a secondparty, where the second key word search query should have substantialsimilarity with the first key word search query.

At 408, if the existing chat room is found at 406, the existing chatroom is embedded into the created search result web page.

At 410, the first part is automatically admitted into the existing chatMOM.

At 412, the first and second parties are enabled to exchange informationwithin the chat room over a network.

At 414, if no existing chat room found at 406, a new chat room iscreated in accordance with the first key word search query.

At 416, the created chat room is embedded into the created search resultweb page.

At 418, the first party waits, in the chat room, for a future thirdparty who enters a third key word search query having substantialsimilarity with the first key word search query.

At 420, the third part, who has entered the third key word search queryhaving substantial similarity with the first key word search query, isadmitted into the chat room.

At 422, the first and third parties are enabled to exchange informationwithin the chat room over the network.

In some example embodiments, the method 400 may detect any activityconducted by any party in the chat room. For example, if any party inthe chat room is detected to have been idle for a predetermined periodof time (e.g., 30 minutes), such party would be removed from the chatroom.

In some example embodiments, the method 400 may control the capacity ofthe chat room within a predetermined number of participants, when thenumber of participants meeting the admission criteria exceeds apredetermined number (e.g., 15 people), to make sure that theparticipants in the chat room may conduct efficient communications.

FIG. 5 shows an example system to implement the abovementioned method.The system as shown in FIG. 5 includes a user interface module 118 and adata transmitting module 120.

In an example embodiment, the user interface module 118 may be used toprompt a user via the graphical user interface to enter the informationinto the plurality of information fields and to receive via a user inputdevice information input by the user for at least one of the informationfields. The data transmitting module 120 may be used to commercetransmitting data over a network (e.g., the Internet) after the user hasinput information for at least one of the information fields before orwhile the user enters information into at least one other informationfield.

In some example embodiments, the system is implemented using a machinereadable machine having instructions that, when executed by a machine,cause the machine to perform the method described herein.

FIG. 6 shows a diagrammatic representation of machine in the exampleform of a computer system 600 within which a set of instructions, forcausing the machine to perform any one or more of the methodologiesdiscussed herein, may be executed. In alternative embodiments, themachine operates as a standalone device or may be connected (e.g.,networked) to other machines. In a networked deployment, the machine mayoperate in the capacity of a server or a client machine in server-clientnetwork environment, or as a peer machine in a peer-to-peer (ordistributed) network environment. The machine may be a server computer,a client computer, a personal computer (PC), a tablet PC, a set-top box(STB), a Personal Digital Assistant (PDA), a cellular telephone, a webappliance, a network router, switch or bridge, or any machine capable ofexecuting a set of instructions (sequential or otherwise) that specifyactions to be taken by that machine. Further, while only a singlemachine is illustrated, the term “machine” shall also be taken toinclude any collection of machines that individually or jointly executea set (or multiple sets) of instructions to perform any one or more ofthe methodologies discussed herein.

The example computer system 600 includes a processor 602 (e.g., acentral processing unit (CPU) a graphics processing unit (GPU) or both),a main memory 604 and a static memory 606, which communicate with eachother via a bus 608. The computer system 600 may further include a videodisplay unit 610 (e.g., a liquid crystal display (LCD) or a cathode raytube (CRT)). The computer system 600 also includes an alphanumeric inputdevice 612 (e.g., a keyboard), a cursor control device 614 (e.g., amouse), a disk drive unit 616, a signal generation device 618 (e.g., aspeaker) and a network interface device 620.

A disk drive unit 616 includes a machine-readable medium 622 on which isstored one or more sets of instructions (e.g., software 624) embodyingany one or more of the methodologies or functions described herein. Thesoftware 624 may also reside, completely or at least partially, withinthe main memory 604 and/or within the processor 602 during executionthereof by the computer system 600, the main memory 604 and theprocessor 602 also constituting machine-readable media. The software 624may further be transmitted or received over a network 626 via thenetwork interface device 620.

While the machine-readable medium 622 is shown in an example embodimentto be a single medium, the term “machine-readable medium” should betaken to include a single medium or multiple media (e.g., a centralizedor distributed database, and/or associated caches and servers) thatstore the one or more sets of instructions. The term “machine-readablemedium” shall also be taken to include any medium that is capable ofstoring, encoding or carrying a set of instructions for execution by themachine and that cause the machine to perform any one or more of themethodologies of the present invention. The term “machine-readablemedium” shall accordingly be taken to include, but not be limited to,solid-state memories, optical and magnetic media, and carrier wavesignals.

Although the present embodiments has been described with reference tospecific example embodiments, it will be evident that variousmodifications and changes may be made to these embodiments withoutdeparting from the broader spirit and scope of the invention. Forexample, the various modules described herein may be preformed andcreated using hardware circuitry (e.g., CMOS based logic circuitry) aswell as in software.

For example, the user interface module 118 and the data transmittingmodule 120 may be embodied using transistors, logic gates, andelectrical circuits (e.g., application specific integrated ASICcircuitry). In addition, it will be appreciated that the variousoperations, processes, and methods disclosed herein may be embodied in amachine-readable medium and/or a machine accessible medium compatiblewith a data processing system (e.g., a computer system). Accordingly,the specification and drawings are to be regarded in an illustrativerather than a restrictive sense.

Further details are now provided regarding an example embodiment inwhich a listing creation user interface (e.g., an HTML page), to receivea plurality of listing information items, is generated by the commercesystem 12 and communicated to a web client 16. The example embodimentseeks to improve page performance and reduce user wait time on pictureupload functionality that enables a user to upload a picture forinclusion within a listing.

With the system and method of the application, users searching for thesame topic may be brought into a web-based live chat room to allow themto exchange information, for example, to allow sellers to approachpotential buyers of their goods or services, and to allow the buyerswith same interests to exchange their ideas on some goods or services.

Although the present application has been described with reference tospecific embodiments, it will be evident that various modifications andchanges may be made to these embodiments without departing from thebroader spirit and scope of the application. Accordingly, thespecification and drawings are to be regarded in an illustrative ratherthan a restrictive sense.

1. A system comprising: one or more processors; and a chat roomgenerator module, executed by the one or more processors, configured toreceive a comparison result between a first key word from a first partyand a second key word used in a search query from a second party via anetwork, and to generate a chat room embedded into a search result webpage associated with the search query, when the comparison resultindicates no substantial similarity between the first key word and thesecond key word.
 2. The system of claim 1, further comprising: a chatroom admission module configured to automatically admit a third partyinto the chat room based on a comparison result that indicatessubstantial similarity between the second key word and a third key wordused in a search query by the third party via the network.
 3. The systemof claim 2, further comprising: a passing through window control moduleconfigured to display a passing through window in the chat room, thepassing through window including a name of the third party beingtemporarily displayed and the name of the third party being selectableby the second party to invite the third party into the chat room beforethe name of the third party disappears.
 4. The system of claim 2,further comprising: a key word comparator module configured to: comparethe first key word and the second key word and generate the comparisonresult; and compare the second key word and the third key word andgenerate the comparison result.
 5. The system of claim 2, furthercomprising: a messenger module configured to enable the second party andthe third party to exchange information within the chat room.
 6. Thesystem of claim 1, wherein the comparison result indicates nosubstantial similarity based on a number of characters that the firstkey word and second key word have in common being less than a specifiedthreshold.
 7. The system of claim 2, wherein the comparison resultindicates substantial similarity based on a number of characters thatare not common to both the first key word and second key word being lessthan a specified threshold.
 8. The system of claim 2, wherein thecomparison result indicates substantial similarity based on the firstkey word and second key word being alternate spellings or the first keyword and second key word being synonyms.
 9. A method comprising:prompting a first party to enter a first key word; prompting a secondparty to enter a second key word in a search query; comparing the firstkeyword and the second keyword; and based on the comparison result thatindicates no substantial similarity between the first key word and thesecond key word, creating a chat room embedded into a search result webpage associated with the search query.
 10. The method of claim 9,further comprising: prompting a third party to enter a third key word ina search query; comparing the second keyword and the third keyword; andadmitting the third party into the chat room based on a comparisonresult that indicates substantial similarity between the second key wordand the third key word.
 11. The method of claim 10, further comprisingdisplaying a passing through window in the chat room, the passingthrough window including a name of the third party being temporarilydisplayed and the name of the third party being selectable by the secondparty to invite the third party into the chat room before the name ofthe third party disappears.
 12. The method of claim 9, wherein thecomparison result indicates no substantial similarity based on a numberof characters that the first key word and second key word have in commonbeing less than a specified threshold.
 13. The method of claim 10,wherein the comparison result indicates substantial similarity based ona number of characters that are not common to both the first key wordand second key word being less than a specified threshold.
 14. Themethod of claim 10, wherein the comparison result indicates substantialsimilarity based on the first key word and second key word beingalternate spellings or the first key word and second key word beingsynonyms.
 15. A non-transitory machine-readable medium comprisinginstructions, which when implemented by one or more processors, causethe machine to perform the following operations: prompting a first partyto enter a first key word; prompting a second party to enter a secondkey word in a search query; comparing the first keyword and the secondkeyword; and based on the comparison result that indicates nosubstantial similarity between the first key word and the second keyword, creating a chat room embedded into a search result web pageassociated with the search query.
 16. The method of claim 15, furthercomprising: prompting a third party to enter a third key word in asearch query; comparing the second keyword and the third keyword; andadmitting the third party into the chat room based on a comparisonresult that indicates substantial similarity between the second key wordand the third key word.
 17. The method of claim 16, further comprisingdisplaying a passing through window in the chat room, the passingthrough window including a name of the third party being temporarilydisplayed and the name of the third party being selectable by the secondparty to invite the third party into the chat room before the name ofthe third party disappears.
 18. The method of claim 15, wherein thecomparison result indicates no substantial similarity based on a numberof characters that the first key word and second key word have in commonbeing less than a specified threshold.
 19. The method of claim 16,wherein the comparison result indicates substantial similarity based ona number of characters that are not common to both the first key wordand second key word being less than a specified threshold.
 20. Themethod of claim 16, wherein the comparison result indicates substantialsimilarity based on the first key word and second key word beingalternate spellings or the first key word and second key word beingsynonyms.